/**
 * 报销常用工具类
 */

/**
 * 字符串拼接 ,如果要进行大量的字符+，则用此，提高效率
 */
function StringBuffer(str){   
    this.data = new Array();
    if(str != null){
    	this.data.push(str);
    }  
}   
StringBuffer.prototype.append = function(str){   
     this.data.push(str);   
};   
StringBuffer.prototype.toString = function(){   
    var str = arguments.length == 0 ? '' : arguments[0];   
    return this.data.join(str);   
}; 
StringBuffer.prototype.isEmpty = function(){
    return this.data.length == 0 ? true : false;   
}; 

/**
 * 遍历处理
 */
function Each(list, fun){
	for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }
};

/**
 * 返回格式化的浮点数
 */
function $f(value){
	return (value == '' || value == null)? 0 : parseFloat(value);
}

/**
 * 两数乘
 * @return
 */
function multiply(arg0, arg1){
	return $(arg0)*$(arg1);
}

/**
 * 千分位解析
 * 将数字转换成三位逗号分隔的样式   
 */
function formatNum(num, digit){   
      if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(num))
      	return  num;
      if(digit == null)
      	digit = 2;
      var a = RegExp.$1,b = RegExp.$2,c = RegExp.$3;   
      var re = new RegExp().compile("(\\d)(\\d{3})(,|$)");   
      while(re.test(b)) 
      	b = b.replace(re, "$1,$2$3");   
      if (c && digit && new RegExp("^.(\\d{"+   digit   +"})(\\d)").test(c)){   
      	if (RegExp.$2>4) 
      		c = (parseFloat(RegExp.$1)+1)/Math.pow(10,digit);   
      	else 
      		c = "."+ RegExp.$1;
      }   
      var value = a +""+ b +""+ (c+"").substr((c+"").indexOf("."));
	  value = value + "";
		
		if(value.indexOf(".") == -1){
			value += ".";
			for(var i=0; i<digit; i++)
				value += "0";
		}else if(parseFloat(value) == 0){//值为0
			value = "0.";
			for(var i=0; i<digit; i++)
				value += "0";
		}else{//正常浮点数
			value = getDoubleByTrimZero(value);
			if(value.indexOf(".") == -1){
				value += ".";
				for(var i=0; i<digit; i++)
					value += "0";
			}else{
				var arr = value.split(".");
				var c = digit - parseInt(arr[1].length);
				if(c > 0){
					for(var i=0; i<c; i++)
						value += "0";				
				}
			}
		}
			
      return value; 
} 